// 类型1: 布尔值  boolean
// 可选值  true 和 flase
let bool: boolean;
bool = false;
// 除了会在编辑器报错之外，还应该不允许编译
// bool = 'hello' // X
// bool = true;

// 类型2: 字符 string 
// 可选值：基本字符串和模板字符串
let str: string = 'hello';
str = "双引号";
str = `asdasd`;

// 类型3: 数值  number
// 可选值 进制和数字  NaN
let num: number = 100;
num = 10086;
num = 0o234;
num = NaN;

let n1: bigint;
n1 = BigInt(20);

// 类型4 null 和 undefined
// 只能是当前的数据类型
let result: null;
// result = 'aaa'; // X
result = null;
let res1: undefined;
res1 = undefined;
// 补充: 字面量的类型
let chenwei: 'hello';
chenwei = 'hello';


// 补充2：null 和 undefined 是其他数据的子类型